package mundo;

public class NodoCiudad {

	
	
	
	public Ciudad ciudad;
	
	public NodoCiudad izquierdo,derecho;
	
	public NodoCiudad(String nombre)
	{
		ciudad= new Ciudad(nombre);
		
	}
	
	public boolean esHoja()
	{
		return (izquierdo==null&&derecho==null);
	}
	
	public NodoCiudad darDerecho()
	{
		return derecho;
	}
	
	public NodoCiudad darIzquierdo()
	{
		return izquierdo;
	}
	
	public Ciudad darCiudad()
	{
		return ciudad;
	}
	
	public void AgregarCiduad(String nNombre)
	{
		if(nNombre.compareTo(ciudad.darNombre())<0)
		{
			if(izquierdo==null)
				izquierdo=new NodoCiudad(nNombre);
			else
				izquierdo.AgregarCiduad(nNombre);
		}
		else
		{
			if(derecho==null)
				derecho=new NodoCiudad(nNombre);
			else
				derecho.AgregarCiduad(nNombre);
		}
	}
	
	
	public Ciudad buscarCiudad(String nombre)
	{
		if(ciudad.darNombre().equals(nombre))
			return ciudad;
		else if(nombre.compareTo(ciudad.darNombre())<0)
			return (izquierdo==null)?null:izquierdo.buscarCiudad(nombre);
			else if(nombre.compareTo(ciudad.darNombre())>0)
				return (derecho==null)?null:derecho.buscarCiudad(nombre);
			else return null;
	}
	
	
}
